package hmvc4gwt.client.view;

import com.google.gwt.user.client.ui.Widget;

import hmvc4gwt.client.component.IInitializeAble;
import hmvc4gwt.client.component.ITerminateAble;
import hmvc4gwt.client.controller.IController;
import hmvc4gwt.client.event.IHmvcEventListener;

public interface IView extends IInitializeAble, ITerminateAble,
		IHmvcEventListener {

	public IController getController();

	/**
	 * returns the Widget represetend by this View
	 * 
	 * @return Widget
	 */
	public Widget getWidget();

	public void setController(IController controller);
	
	/**
	 * indicates that the View iss currently visible
	 * @return
	 */
	public boolean isVisible();
	
	/**
	 * sets the visibility of the view
	 * @param isVisible
	 */
	public void setVisible(boolean isVisible);

}
